<?php

class MaestroComponent extends Component {

    public function __construct() {
        $this->Estado = ClassRegistry::init('Estado');
        $this->Parroquia = ClassRegistry::init('Parroquia');
        $this->Municipio = ClassRegistry::init('Municipio');
        $this->Banco = ClassRegistry::init('Banco');
        $this->FormasPago = ClassRegistry::init('FormasPago');
        $this->Clasificacion = ClassRegistry::init('Clasificacion');
        $this->Punto = ClassRegistry::init('Punto');
    }

    public function modelo($config = 'punto', $modelo = null, $t = null) {
        if (empty($t))
            $t = 'punto_T001';
        App::import('Model', $modelo);
        $obj = new $modelo(false, null, null, $config, $t, $modelo);
        return $obj;
    }

    public function lista_estados($pais_id = 1) {
        $estado = $this->Estado->find('list', array('fields' => array('Estado.id', 'Estado.nombre'), 'conditions' => array('Estado.pais_id' => $pais_id, 'Estado.estatus' => 1)));
        return $estado;
    }

    public function lista_municipios($estado_id = 0) {
        $municipio = $this->Municipio->find('list', array('fields' => array('Municipio.id', 'Municipio.nombre'), 'conditions' => array('Municipio.estado_id' => $estado_id, 'Municipio.estatus' => 1)));
        return $municipio;
    }

    public function lista_parroquias($municipio_id = 0) {
        $parroquia = $this->Parroquia->find('list', array('fields' => array('Parroquia.id', 'Parroquia.nombre'), 'conditions' => array('Parroquia.municipio_id' => $municipio_id, 'Parroquia.estatus' => 1)));
        return $parroquia;
    }
    
    public function lista_bancos() {
        $bancos = $this->Banco->find('list', array('fields' => array('Banco.id', 'Banco.nombre'), 'conditions' => array('Banco.estatus' => 1)));
        return $bancos;
    }
    
    public function lista_formas_pago() {
        $formas_pago = $this->FormasPago->find('list', array('fields' => array('FormasPago.id', 'FormasPago.nombre'), 'conditions' => array('FormasPago.estatus' => 1)));
        return $formas_pago;
    }

     public function lista_tiendas_caja() {
        $tiendas_caja = $this->Punto->find('list', array('fields' => array('Punto.id', 'Punto.nombre'), 'conditions' => array('Punto.estatus' => 1), 'order' => 'Punto.nombre' ));
        return $tiendas_caja;
    }
    
    public function clasificacionesRestringidas() {
        $restringidos = $this->Clasificacion->find('list', array('fields' => array('id', 'nombre'), 'conditions' => array('restringido' => 1)));
        return $restringidos;
    }

}
